#include <pthread.h>
#include <stdio.h>
#include <unistd.h>

static pthread_t thread;

/**
 * 子线程的主函数
 */
void *thread_func(void *argv)
{
    char *str = argv;
    while (1)
    {
        printf("%s", str);
        sleep(1);
    }
}

int main(int argc, char const *argv[])
{
    pthread_create(&thread, NULL, thread_func, "明天会更好\n");
    for (size_t i = 0; i < 5; i++)
    {
        printf("主线程正在运行\n");
        sleep(1);
    }

    pthread_cancel(thread);

    pthread_join(thread, NULL);
    printf("子线程已经关闭\n");

    return 0;
}
